package com.it.flowable.entity.leave;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

@Data
@EqualsAndHashCode(callSuper = false)
@TableName("act_flw_task_leave")
public class ActFlwTaskLeaveVO implements Serializable {

    private static final long serialVersionUID = -3422362096208169184L;

    /**
     * 主键
     */
    @TableId(value = "C_ID", type = IdType.ASSIGN_UUID)
    @JsonProperty("cId")
    private String cId;

    @TableField("C_MAIN_ID")
    @JsonProperty("cMainId")
    private String cMainId;

    @TableField("C_TASK_NO")
    @JsonProperty("cTaskNo")
    private String cTaskNo;

    @TableField("C_TASK_TYPE")
    @JsonProperty("cTaskType")
    private String cTaskType;

    /**
     * 轨迹序号
     */
    @TableField("N_TRACK_NUM")
    @JsonProperty("nTrackNum")
    private Integer nTrackNum;

    @TableField("C_APP_CDE")
    @JsonProperty("cAppCde")
    private String cAppCde;

    @TableField("C_APP_RMK")
    @JsonProperty("cAppRmk")
    private String cAppRmk;

    @TableField("C_DAYS")
    @JsonProperty("cDays")
    private Integer cDays;

    /**
     * 第一次审核意见：0 驳回 1 通过
     */
    @TableField("C_FIRST_CHK_OPN")
    @JsonProperty("cFirstChkOpn")
    private String cFirstChkOpn;

    @TableField("C_FIRST_CHK_CDE")
    @JsonProperty("cFirstChkCde")
    private String cFirstChkCde;

    @TableField("C_FIRST_CHK_RMK")
    @JsonProperty("cFirstChkRmk")
    private String cFirstChkRmk;

    /**
     * 审核意见：0 驳回 1 通过
     */
    @TableField("C_SECOND_CHK_OPN")
    @JsonProperty("cSecondChkOpn")
    private String cSecondChkOpn;

    @TableField("C_SECOND_CHK_CDE")
    @JsonProperty("cSecondChkCde")
    private String cSecondChkCde;

    @TableField("C_SECOND_CHK_RMK")
    @JsonProperty("cSecondChkRmk")
    private String cSecondChkRmk;

    /**
     * 最新标识:0 历史 1 最新
     */
    @TableField("C_NEW_FLG")
    @JsonProperty("cNewFlg")
    private String cNewFlg;

    /**
     * 是否再次提交申请: 1 是 0 否
     */
    @TableField("IS_RE_APPLY")
    @JsonProperty("isReApply")
    private String isReApply;

    /**
     * 是否取消申请: 1 是 0 否
     */
    @TableField("IS_CANCEL_APPLY")
    @JsonProperty("isCancelApply")
    private String isCancelApply;

    @TableField("T_CRT_TM")
    @JsonProperty("tCrtTm")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date tCrtTm;

    @TableField("T_UPD_TM")
    @JsonProperty("tUpdTm")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date tUpdTm;

}
